// miniprogram/pages/openMembership/openMembership.js
const app = getApp();
var util = require('../../utils/util.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    StatusBar: app.globalData.StatusBar,
    CustomBar: app.globalData.CustomBar,
    cardId:'',
    showVipForm:true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  toggleVipForm: function (temp) {
    this.setData({
      showVipForm: temp
    })
  },
  closeVipForm: function () {
    this.toggleVipForm(false)
  },
  //-------------------------------------------------从上传截图中加载二维码
  uploadCodeImg:function(){
    let that=this 
    wx.showModal({
      title: '扫码验证提示',
      content: '请从相册选择-步骤四中您保存的截图',
      showCancel:false,
      confirmText:'我明白了',
      success:function(){
        wx.scanCode({
          success(res) {
            console.log(res)
            // 如果加载并读取二维码无误，则获取到会员卡卡号
            if (res.errMsg == 'scanCode:ok' && res.result.length==12){
              wx.showToast({
                title: '读取成功!',
                icon:'success'
              })
              that.setData({
                cardId: res.result
              })
            }else{
              wx.showToast({
                title: '读取错误！',
                icon:'none'
              })
            }
          }
        })
      }
    })
  },

  //------------------------------------------------点击确认开通按钮
  confirmToOpenMembership:function(e){
    var  that=this
    //1. 检测会员卡号格式
    var cardId = that.data.cardId
    //正则表达式检测全为数字，并且长度为12则说明cardId格式无误
    if (/^[0-9]+$/.test(cardId) && cardId.length==12) {
      console.log('cardId格式无误:', cardId);
      //调用云函数来进行会员卡开通
      that.openMemberShip(cardId)
    } else {
      console.log('cardId格式有误:', cardId);
      wx.showToast({
        title: '会员卡号有误',
        icon:'none'
      })
    }
  },
  //---------------------云函数【会员开通】
  openMemberShip: function (cardId){
    
    wx.showLoading({
      title: '正在审核...',
    })

    let userInfo = wx.getStorageSync('userInfo') 
    wx.cloud.callFunction({
      name: 'openMemberShip',
      data: {
        openid: userInfo.openid,
        userid: userInfo.userid,
        cardid: cardId
      },
    }).then(res => {
      wx.hideLoading()
      console.log(res)
      if (res.result.result == 'fail'){
        console.log(res.result)
        wx.showModal({
          title: '审核未通过',
          content: '原因：'+res.result.error,
          showCancel:false,
        })
      } else if (res.result.result == 'success'){
        wx.showModal({
          title: '开通成功',
          content: '恭喜您成功将会员信息同步至小程序',
          confirmText:'立即查看',
          cancelText:'返回首页',
          success:function(res){
            if (res.confirm){
              wx.showLoading({
                title: '正在跳转...',
              })
              //返回首页并调用云函数进入会员卡页面
              let card_id = 'p1Jdc1E9hvyb__Rw0xTd877hRWu8' //会员卡模板id
              wx.navigateBack({
                delta: 1
              })
              // 打开会员卡页面
              util.openVipCardByCode(card_id, cardId)
            } else if (res.cancel) {
              wx.navigateBack({
                delta:1
              })
            }
          }
        })
      }
    }).catch(
      err=>{
        wx.hideLoading()
        wx.showToast({
          title: '请检查网络',
        })
      }
    )
  }
})